package com.tedu.api.thread;

/**
 * 线程--创建3中
 * 第一种：子类   继承Thread  方案--【shiyonglv不多】
 * 1.编写子类MyThread1  继承Thread
 * 2.子类重写run方法
 * 3.实例化MyThread1  对象     调用start方法【启动线程】
 * 第二种：子类   实现Runnble接口  方案--【推荐用法】
 *    1.编写子类MyRunnable1  实现RUnnable接口
 *    2.子类，强制重写run方法【线程运行】
 *    3.实例化MyRunnable1对象【没有start发方法】
 *    4.创建Thread对象，吧实例化MyRunnable1 对象通过狗早起
 *    5.调用Thread对象  start方法
 *    x线程  继承Thread 内嵌入Runnable接口  重写run方法
 *    JavaOOP--缺点：Java支持单继承，子类继承Thread，无法拓展：不仅线程，其他集合，继承其他剋
 *    启动线程方法   start（）---线程生命周期
 *    缺点：线程创建编写不明确
 *    实现RUnnable  真正线程运行--定义润方法，线程运行状态
 *    缺点：线程创建不方便--项目：步骤逻辑清晰
 *
 * 低三种：匿名内部类实现线程--》Lambda表达式
 *
 * JavaOOP:
 */

public class ThreadAPI {
    public static void main(String[] args){
        MyThread1 mt1=new MyThread1();
        mt1.start();
        MyThread2 mt2=new MyThread2();
        mt2.start();
    }

}
//MyThread1  子类  |线程实现类
class MyThread1 extends  Thread{
    //重写run方法





    public void run() {
        for (int i=0;i<1000;i++){
            System.out.println();
        }

    }
}
class MyThread2 extends  Thread{
    public void run() {
        for (int i=0;i<1000;i++){
            System.out.println();
        }

    }
}

